42
Algorithms for Binary Neural Networks
!" "
!ˈ "
!"!" "
!" "
C
ˆC
M
Q
(a) Modulation process based on an M-Filter.
"!" "
!"!" "
"!" "
Q
(b) MCNs Convolution (MCconv).
FIGURE 3.2
(a) The modulation process based on an M-Filter to obtain a reconstructed Filter Q. (b)
An example of MCNs convolution with K = 4 planes. The number of planes of the M-Filter
is the same as the number of channels of the feature map. This chapter defines a feature
map as a 3D matrix with four channels.
In MCNs, reconstructed filters Ql in the lth layer are used to calculate output feature
maps F l+1 as:
F l+1 = MCconv(F l, Ql),
(3.15)
where MCconv denotes the convolution operation implemented as a new module. A simple
example of the forward convolutional process is described in Fig. 3.2(b), where there is one
input feature map with one generated output feature map. In MCconv, the channels of one
output feature map are generated as follows:
F l+1
h,k =
i,g
F l
g ⊗Ql
ik,
(3.16)
F l+1
h
= (F l+1
h,1 , ..., F l+1
h,K),
(3.17)
where ⊗denotes the convolution operation; F l+1
h,k is the kth channel of the hth feature map
in the (l +1)th convolutional layer. F l
g denotes the gth feature map in the lth convolutional
layer. In Fig. 3.2(b), h = 1 and g = 1, where after MCconv with one reconstructed filter,
the number of channels in the output feature map is the same as that in the input feature
map.
Figure 3.3 illustrates another example of MCNs convolution with multiple feature maps.
An output feature map is the sum of the convolution between 10 input feature maps and 10
reconstructed filters in the corresponding group. For example, for the first output feature